home *** CD-ROM | disk | FTP | other *** search
/ PC Zone 96 / PC Zone #096.7z / Dppcz1200.mdf / Demos / Gunlok / data1.cab / Program_Executable_Files / scripts / defaults.gsh < prev    next >
Text File  |  2000-09-09  |  5KB  |  203 lines

  1. // defines abstract script object with default parameters
  2. // to be inherited by the real script objects
  3. ////////////////////////////////////////////////////////////////////////////////////
  4.  
  5. // start wrapper - prevent multiple inclusions or recursive inclusions
  6.  
  7. //(this currently causes 'unrecognized preprocessor directive' warnings, until implemented)
  8. #ifndef INCLUDED_DEFAULTS_GSH
  9. #define INCLUDED_DEFAULTS_GSH
  10.  
  11. ////////////////////////////////////////////////////////////////////////////////////
  12.  
  13. #include "glresrc.h"
  14. #include "sounds.h"
  15.  
  16. // default character
  17.  
  18. abstract character Chr_Default
  19. {
  20.     walking speed 1 // normally defined by the animators
  21.     turning speed 0.5
  22.     
  23.     aggression    0.7 // between 0 and 1
  24.     sight range   22 // 22 metres away
  25.     sight angle   45 // 45 degrees left or right
  26.     hearing range 17 // 17 metres away
  27.     
  28. }
  29.  
  30. // default goodie character
  31.  
  32. abstract character Chr_DefaultGoodie : Chr_Default
  33. {
  34.     strength      20
  35.     aim           1
  36. }
  37.  
  38. // default baddie character
  39.  
  40. abstract character Chr_DefaultBaddie : Chr_Default
  41. {
  42.     strength      10
  43.     aim           4
  44. }
  45.  
  46. // default nothing pickup
  47.  
  48. character Chr_Nothing_Pickup : Chr_Default
  49. {
  50.     turning speed   0    // this is in revolutions per second
  51.     walking speed   0    // this is in animation cycles per second
  52.     strength        10    // initial strength points
  53.     aim                0
  54.     aggression        0.21    // 2 = nothing pickup
  55. }
  56.  
  57. // default "other" pickup (eg a "mission" item with no other use)
  58.  
  59. character Chr_Other_Pickup : Chr_Default
  60. {
  61.     turning speed   0    // this is in revolutions per second
  62.     walking speed   0    // this is in animation cycles per second
  63.     strength        10    // initial strength points
  64.     aim                0
  65.     aggression        0.101    // 10 = "other" pickup
  66. }
  67.  
  68. // default settings for a placed object which does bugger all
  69.  
  70. abstract role Rol_PlacedObject
  71. {
  72.     character  none
  73.     light      none
  74.     projectile none
  75.     identifier none
  76.     
  77.     per vertex fogging yes
  78.     alpha fogging      no
  79.     destructibility none
  80. }
  81.  
  82. // default settings for a robot
  83.  
  84. abstract role Rol_DefaultRobot
  85. {
  86.     light      none
  87.     projectile none
  88.     identifier none // can be overridden
  89.     
  90.     per vertex fogging no
  91.     alpha fogging      yes
  92.     destructibility none
  93. }
  94.  
  95. // default settings for a projectile
  96.  
  97. abstract role Rol_DefaultProjectile
  98. {
  99.     light      none // can be overridden
  100.     character  none
  101.     identifier none // can be overridden
  102.     
  103.     per vertex fogging no
  104.     alpha fogging      yes
  105.     destructibility    none
  106.     status display     no
  107. }
  108.  
  109. // default for a garbage heap (contains an item)
  110.  
  111. // Morgan: This was added in for the purposes of the training level. It 
  112. // stops the game from printing a "junkpile empty" message when searched.
  113. // If you derive your junkpile or garbage roles from the two roles below
  114. // instead, they should give out empty messages as usual.
  115. abstract role Rol_DefaultGarbage_NoMsg : Rol_PlacedObject 
  116. {
  117.     character        Chr_Nothing_Pickup
  118.     identifier        "nothing"
  119.  
  120.     ai        pickup
  121.     armour    25
  122.     destroy after collection    no
  123.     destination selectable        yes
  124. }
  125.  
  126. abstract role Rol_DefaultGarbage : Rol_DefaultGarbage_NoMsg
  127. {
  128.     pickup name junkpile empty pickup
  129. }
  130.  
  131. // default for a junkpile (contains nothing)
  132.  
  133. abstract role Rol_DefaultJunkpile : Rol_DefaultGarbage
  134. {
  135. }
  136.  
  137. // default for a collectable object
  138.  
  139. abstract role Rol_DefaultPickup
  140. {
  141.     character  none
  142.     light      none
  143.     projectile none
  144.     identifier none // can be overridden
  145.  
  146.     per vertex fogging    no
  147.     alpha fogging        yes
  148.     destructibility        none
  149.  
  150.     ai                    pickup
  151. }
  152.  
  153. abstract role Rol_FragObject : Rol_PlacedObject
  154. {
  155.     hit test ignore    yes
  156.     frag control    yes
  157.     alpha fogging    yes
  158. }
  159.  
  160. role Rol_CollectedPickup : Rol_DefaultGarbage
  161. {
  162.     ai            reserved
  163.     identifier    "collected_pickup"
  164.     armour        25
  165. }
  166.  
  167. destructibility Des_Explode
  168. {
  169.     type explode
  170. }
  171.  
  172. destructibility Des_Splatter
  173. {
  174.     type splatter
  175. }
  176.  
  177. // COMMON INVENTORY ITEMS
  178. // every level should have these to allow for continuity between levels
  179.  
  180. #include "pickups.gsh"
  181. #include "ammo_pickups.gsh"
  182. #include "body_slot_upgrades.gsh"
  183.  
  184. #include "repair_arm.gsh"
  185. #include "interface_device.gsh"
  186.  
  187. #include "mine.gsh"
  188.  
  189. #include "lasers.gsh"
  190. #include "plasma.gsh"
  191. #include "nanofrag.gsh"
  192. #include "flamethrower.gsh"
  193. #include "grenade_launcher.gsh"
  194. #include "missile_launcher.gsh"
  195. #include "epulsar.gsh"
  196. #include "fragprojectile.gsh"
  197. #include "decoyprojectile.gsh"
  198.  
  199. ////////////////////////////////////////////////////////////////////////////////////
  200.  
  201. // end wrapper - for preventing multiple or recursive inclusions
  202. #endif // !INCLUDED_DEFAULTS_GSH
  203.